define([
    'jquery',
    'underscore',
    'backbone',
    'text!template/backyard/manage/parameter_item.html',
    'collection/backyard/manage/parameter_list'
], function($, _, Backbone, ItemTemplate, ParameterCollection) {

    return Backbone.View.extend({
        el: '',
        template: '',

        initialize: function(options) {
            var _this = this;
            _this.options = options;

            // Detect the template of list
            if (_this.options.template) {
                _this.template = _.template(_this.options.template);
            } else {
                _this.template = _.template(ItemTemplate);
            }

            var parameterCollection = new ParameterCollection({param: _this.options.param});
            parameterCollection.fetch({
                success: function(parameters) {
                    _this.$el.find('tbody').empty();

                    var parameterData = parameters.toJSON();
                    for (var i=0; i<parameterData.length; i++) {
                        _this.$el.find('tbody').append(_this.template({
                            name: parameterData[i].name,
                            id: parameterData[i].id
                        }));
                    }
                }
            });
        }
    });
});
